/*
* 1. 下载 axios 进行网络请求
*
*   http://www.axios-js.com/
*
*   npm i axios
*
* 2. 相关的配置
*
* */
import axios from 'axios';

const instance = axios.create({
    /*定义接口的前缀url*/
    baseURL: 'http://localhost:8080',
    /*定义网络请求的超时时间，如果超过该时间还没有请求成功，则断开连接，主要为了防止长时间占着链接不放*/
    timeout: 3000,

});

/*请求的时候，请求头里面要携带一个 Authorization */

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    /*注意事项：在请求头里面传递token的时候，我们需要对 token 进行编码一下  为了防止token里面包含特殊字符 encodeURIComponent() */
    config.headers.Authorization = localStorage.getItem('userToken') ? 'Bearer ' + encodeURIComponent(localStorage.getItem('userToken')) : '';

    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});


export default instance;
